import request from '@/request/request'

// ==================== 商品类别管理 ====================
export const productCategoryApi = {
  // 分页查询商品类别列表
  list: (params) => request.get('/product/category/list', { params }),
  // 获取所有商品类别（用于下拉选择）
  all: () => request.get('/product/category/all'),
  // 根据ID查询商品类别详情
  getById: (id) => request.get(`/product/category/${id}`),
  // 新增商品类别
  add: (data) => request.post('/product/category/add', data),
  // 更新商品类别
  update: (data) => request.put('/product/category/update', data),
  // 删除商品类别
  delete: (id) => request.delete(`/product/category/${id}`)
}

// ==================== 商品信息管理 ====================
export const productApi = {
  // 分页查询商品列表
  list: (params) => request.get('/product/list', { params }),
  // 根据ID查询商品详情
  getById: (id) => request.get(`/product/${id}`),
  // 新增商品
  add: (data) => request.post('/product/add', data),
  // 更新商品
  update: (data) => request.put('/product/update', data),
  // 删除商品
  delete: (id) => request.delete(`/product/${id}`)
}

// ==================== 计量单位管理 ====================
export const unitApi = {
  // 分页查询计量单位列表
  list: (params) => request.get('/product/unit/list', { params }),
  // 获取所有计量单位（用于下拉选择）
  all: () => request.get('/product/unit/all'),
  // 根据ID查询计量单位详情
  getById: (id) => request.get(`/product/unit/${id}`),
  // 新增计量单位
  add: (data) => request.post('/product/unit/add', data),
  // 更新计量单位
  update: (data) => request.put('/product/unit/update', data),
  // 删除计量单位
  delete: (id) => request.delete(`/product/unit/${id}`)
}

// ==================== 商品属性管理 ====================
export const productAttributeApi = {
  // 分页查询商品属性列表
  list: (params) => request.get('/product/attribute/list', { params }),
  // 根据商品ID查询属性列表
  getByProductId: (productId) => request.get(`/product/attribute/${productId}`),
  // 获取所有可用的属性名（用于下拉选择）
  getAttributeNames: () => request.get('/product/attribute/names'),
  // 根据属性名获取所有可用的属性值（用于下拉选择）
  getAttributeValues: (attrName) => request.get(`/product/attribute/values/${attrName}`),
  // 新增商品属性
  add: (data) => request.post('/product/attribute/add', data),
  // 更新商品属性
  update: (data) => request.put('/product/attribute/update', data),
  // 删除商品属性
  delete: (id) => request.delete(`/product/attribute/${id}`)
}
